package com.jzcn.service;


import com.jzcn.common.base.IBaseService;
import com.jzcn.common.dto.file.FileDTO;
import com.jzcn.domain.SysFile;

import java.util.List;

/**
 * 文件domain
 *
 * @author 黄雪冬
 * @version 0.0.1
 * @date 2020/3/20 16:00
 */
public interface SysFileService extends IBaseService<SysFile> {


    /**
     * 保存文件
     *
     * @param bytes
     * @param fileFullName
     * @param userId
     * @return
     */
    FileDTO storeFile(byte[] bytes, String fileFullName,Integer fileType, Integer userId);


    /**
     * 获取文件URL
     *
     * @param fileId
     * @return
     */
    String getUrl(Integer fileId);

    FileDTO getById (Integer id);


    /**
     * 获取文件URL
     *
     * @param sysFileBo
     * @return
     */
    String getUrl(FileDTO sysFileBo);

    /**
     * 获取本地文件存储路径
     *
     * @param sysFileBo
     * @return
     */
    String getLocalPath(FileDTO sysFileBo);

    /**
     * 更新文件相关信息
     *
     * @param fileBo
     * @return
     */
    Boolean updateFile(FileDTO fileBo);

    /**
     * 批量保存文件
     * @param sysFileBos
     * @return
     */
    Boolean saveBatchFile(List<FileDTO> sysFileBos);
}
